package com.ruoyi.coupon.mapper;

import com.ruoyi.coupon.domain.TbCoupon;
import com.ruoyi.coupon.domain.TbCouponType;

import java.util.List;

/**
 * 优惠券类型Mapper接口
 * 
 * @author gzc
 * @date 2023-04-24
 */
public interface TbCouponTypeMapper 
{
    /**
     * 查询优惠券类型
     * 
     * @param couponTypeId 优惠券类型主键
     * @return 优惠券类型
     */
    public TbCouponType selectTbCouponTypeByCouponTypeId(Long couponTypeId);

    /**
     * 查询优惠券类型列表
     * 
     * @param tbCouponType 优惠券类型
     * @return 优惠券类型集合
     */
    public List<TbCouponType> selectTbCouponTypeList(TbCouponType tbCouponType);

    /**
     * 新增优惠券类型
     * 
     * @param tbCouponType 优惠券类型
     * @return 结果
     */
    public int insertTbCouponType(TbCouponType tbCouponType);

    /**
     * 修改优惠券类型
     * 
     * @param tbCouponType 优惠券类型
     * @return 结果
     */
    public int updateTbCouponType(TbCouponType tbCouponType);

    /**
     * 删除优惠券类型
     * 
     * @param couponTypeId 优惠券类型主键
     * @return 结果
     */
    public int deleteTbCouponTypeByCouponTypeId(Long couponTypeId);

    /**
     * 批量删除优惠券类型
     * 
     * @param couponTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbCouponTypeByCouponTypeIds(Long[] couponTypeIds);

    /**
     * 批量删除优惠券
     * 
     * @param couponTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbCouponByCouponTypeIds(Long[] couponTypeIds);
    
    /**
     * 批量新增优惠券
     * 
     * @param tbCouponList 优惠券列表
     * @return 结果
     */
    public int batchTbCoupon(List<TbCoupon> tbCouponList);
    

    /**
     * 通过优惠券类型主键删除优惠券信息
     * 
     * @param couponTypeId 优惠券类型ID
     * @return 结果
     */
    public int deleteTbCouponByCouponTypeId(Long couponTypeId);
}
